//
//  LMHotFixManager.h
//  LMHotFixKit
//
//  Created by mengmenglu on 6/24/16.
//  Copyright © 2016 Hangzhou TaiXuan Network Technology Co., Ltd. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef void(^UpdatePatchFilesSuccessBlock)();

@interface LMHotFixManager : NSObject

/**
 *  判断本地调试功能是否已开启
 *
 *  @return 本地调试功能开启状态
 */
+ (BOOL)localDebugEnable;



/**
 *  启动热修复功能
 */
+ (void)start;


/**
 *  执行js语句
 *
 *  @param javaScriptString js语句
 */
+ (void)runJavaScriptString:(NSString *)javaScriptString;


/**
 *  加载远程js文件
 *
 *  @param javaScriptFileName js文件
 */
+ (void)runRemoteJavaScriptFile:(NSString *)javaScriptFileName;



/**
 *  加载本地js文件
 *
 *  @param javaScriptFileName js文件
 */
+ (void)runLocalJavaScriptFile:(NSString *)localJavaScriptFileName;



/**
 *  更新版本控制plist文件
 */
+ (void)updateVersionPlistFile;


/**
 *  更新补丁文件
 */
+ (void)updatePatchFiles;


/**
 *  更新补丁文件，并提供更新成功后的回调功能
 *
 *  @param updatePatchFilesSuccessBlock 更新成功后的回调
 */
+ (void)updatePatchFiles:(UpdatePatchFilesSuccessBlock)updatePatchFilesSuccessBlock;



/**
 *  清除补丁缓存
 */
+ (void)cleanPatchCache;


/**
 *  更新缓存补丁版本号
 */
+ (void)updatePatchVersionCache;


/**
 *  获取缓存的补丁版本号
 *
 *  @return 补丁版本号
 */
+ (NSString *)patchVersionCache;

@end
